package com.ipudong.widget.recycleview.listener;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;


@Deprecated
public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
	public interface OnItemClickListener {
		void onItemClick (View view, int position);

		void onItemLongClick (View view, int position);
	}

	private final OnItemClickListener mListener;
	private final GestureDetector mGestureDetector;

	public RecyclerItemClickListener (Context context, final RecyclerView recyclerView, OnItemClickListener listener) {
		mListener = listener;

		mGestureDetector = new GestureDetector (context, new GestureDetector.SimpleOnGestureListener () {
			@Override
			public boolean onSingleTapUp (MotionEvent e) {
				return true;
			}

			@Override
			public void onLongPress (MotionEvent e) {
				View childView = recyclerView.findChildViewUnder (e.getX (), e.getY ());

				if (childView != null && mListener != null) {
					mListener.onItemLongClick (childView, recyclerView.getChildPosition (childView));
				}
			}
		});
	}

	@Override
	public boolean onInterceptTouchEvent (RecyclerView view, MotionEvent e) {
		View childView = view.findChildViewUnder (e.getX (), e.getY ());

		if (childView != null && mListener != null && mGestureDetector.onTouchEvent (e)) {
			mListener.onItemClick (childView, view.getChildPosition (childView));
		}

		return false;
	}

	@Override
	public void onTouchEvent (RecyclerView view, MotionEvent motionEvent) {
	}


	@Override
	public void onRequestDisallowInterceptTouchEvent (boolean disallowIntercept) {

	}
}